Matthias Clasen [Tue, 3 Nov 2020 01:58:28 +0000 (20:58 -0500)]
gtk-demo: Reanimate floppy buddy
Implement a GdkPaintable wrapper around GdkPixbufAnimation,
so floppy buddy can waive again.
Matthias Clasen [Tue, 3 Nov 2020 00:15:26 +0000 (19:15 -0500)]
widget-factory: Restore modality of the about dialog
Make the about dialog of widget-factory modal again.
This was lost in
87a8fda163d419ee3e.
Timm Bäder [Sun, 1 Nov 2020 11:27:59 +0000 (12:27 +0100)]
gl renderer: Make debugging code shorter
Timm Bäder [Sun, 1 Nov 2020 11:22:06 +0000 (12:22 +0100)]
gl renderer: Refactor vertex data loading code
Timm Bäder [Sun, 1 Nov 2020 11:16:44 +0000 (12:16 +0100)]
gl renderer: Use the load_vertex_data* functions more often
Timm Bäder [Sun, 1 Nov 2020 10:25:00 +0000 (11:25 +0100)]
gl renderer: More load_vertex_data* usage
Timm Bäder [Sat, 31 Oct 2020 16:15:24 +0000 (17:15 +0100)]
gl renderer: Reword a comment
Timm Bäder [Sat, 31 Oct 2020 16:13:31 +0000 (17:13 +0100)]
gl renderer: Remove an outdated comment
Timm Bäder [Sat, 31 Oct 2020 16:12:38 +0000 (17:12 +0100)]
gl renderer: Refactor rendering shadow nodes
Also use load_vertex_data_with_region here.
Timm Bäder [Sat, 31 Oct 2020 10:54:33 +0000 (11:54 +0100)]
gl renderer: Refactor blurred shadow drawing code
We already have various load_vertex_data* code, so try to reuse that
here.
Timm Bäder [Sat, 31 Oct 2020 07:54:27 +0000 (08:54 +0100)]
gl renderer: Nine-slice unblurred outset shadows
See #3284
Timm Bäder [Fri, 23 Oct 2020 09:01:34 +0000 (11:01 +0200)]
printoperation: Remove double assignment
Matthias Clasen [Mon, 2 Nov 2020 19:36:09 +0000 (19:36 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
gtk-demo polish
See merge request GNOME/gtk!2773
Matthias Clasen [Mon, 2 Nov 2020 18:56:19 +0000 (13:56 -0500)]
gtk-demo: Renovate the paned demo
Make this look less like testgtk from GTK 2.
Matthias Clasen [Mon, 2 Nov 2020 17:02:19 +0000 (12:02 -0500)]
fixup: window titles
Matthias Clasen [Mon, 2 Nov 2020 17:01:11 +0000 (12:01 -0500)]
gtk-demo: Polish all entry demos
Make the spacing a bit more consistent, and tweak
some strings here and there.
Matthias Clasen [Mon, 2 Nov 2020 17:00:24 +0000 (12:00 -0500)]
gtk-demo: Polish the search bar demo
Rename this, and make it look a bit less like a
debugging tool, and more like a demo.
Matthias Clasen [Mon, 2 Nov 2020 16:59:22 +0000 (11:59 -0500)]
gtk-demo: Tweak tagged entry styling
Move the tags closer together, and avoid resizing too much.
Matthias Clasen [Mon, 2 Nov 2020 16:05:57 +0000 (11:05 -0500)]
gtk-demo: Tweak window titles
This is an attempt to improve consistency in the sidebar
and the window titles.
Matthias Clasen [Mon, 2 Nov 2020 13:38:20 +0000 (08:38 -0500)]
gtk-demo: Use typographic style classes
We don't need to hardcode <u> in markup anymore.
Use the heading style class instead.
Matthias Clasen [Mon, 2 Nov 2020 11:52:13 +0000 (11:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2769
Matthias Clasen [Sun, 1 Nov 2020 19:47:02 +0000 (14:47 -0500)]
testsuite: Add tests for gtk4-builder-tool validate
Matthias Clasen [Mon, 2 Nov 2020 01:39:43 +0000 (20:39 -0500)]
builder-tool: Stop rewriting GtkPopoverMenu
We no longer allow manual creation of GtkPopoverMenu,
translating individual properties is not going to
change that.
Matthias Clasen [Sun, 1 Nov 2020 22:32:47 +0000 (17:32 -0500)]
testsuite: Test GtkFixed rewriting
Matthias Clasen [Sun, 1 Nov 2020 21:51:14 +0000 (16:51 -0500)]
builder-tool: Rewrite GtkFixed more
GtkFixedLayout does not have layout properties
for x and y, so turn those into a transform.
Matthias Clasen [Sun, 1 Nov 2020 19:47:42 +0000 (14:47 -0500)]
builder-tool: Avoid duplicate path prefixes
It is enough to print the file in which the error
occurred once; GtkBuilder already makes that part
of its error message.
Matthias Clasen [Sun, 1 Nov 2020 20:48:37 +0000 (15:48 -0500)]
builder-tool: Install a log writer
Install a log writer function that is a bit simpler than
the default GLib log writer, and does not put PIDs and
timestamps in the output, so we can compare easily in
our testsuite.
Matthias Clasen [Sun, 1 Nov 2020 20:47:44 +0000 (15:47 -0500)]
Set G_LOG_USE_STRUCTURED globally
It doesn't make much sense to set this in per-directory
meson files, since that makes use use different logging
facilities in different parts of the project. Set it
globally.
Matthias Clasen [Sun, 1 Nov 2020 15:37:58 +0000 (10:37 -0500)]
testsuite: Test GtkToolbar rewriting
Matthias Clasen [Sun, 1 Nov 2020 19:13:49 +0000 (14:13 -0500)]
builder-tool: Rewrite GtkToolbar more
Replace GtkToolbar with GtkBox and GtkToolButton with
GtkButton.
Matthias Clasen [Sun, 1 Nov 2020 16:39:28 +0000 (11:39 -0500)]
testsuite: Test GtkActionBar rewriting
Matthias Clasen [Sun, 1 Nov 2020 16:38:49 +0000 (11:38 -0500)]
testsuite: Test GtkPaned rewriting
Matthias Clasen [Sun, 1 Nov 2020 16:37:16 +0000 (11:37 -0500)]
builder-tool: Fix rewriting GtkPaned
The properties have been renamed in
bc6643f3c22a61c.
Matthias Clasen [Sun, 1 Nov 2020 16:14:24 +0000 (11:14 -0500)]
builder-tool: Drop unneeded code
We are rewriting the tree before simplifying it,
so there is no need to 'keep things for rewriting'
in the simplify phase.
Matthias Clasen [Sun, 1 Nov 2020 16:12:50 +0000 (11:12 -0500)]
testsuite: Test GtkOverlay rewriting
Matthias Clasen [Sun, 1 Nov 2020 16:14:03 +0000 (11:14 -0500)]
buildertool: Improve GtkOverlay rewriting
Translate the GtkOverlay:pass-through child property to
the GtkWidget:measure property, and drop the :index
child property.
Matthias Clasen [Sun, 1 Nov 2020 16:27:22 +0000 (11:27 -0500)]
Fix the definition of GtkWidget:can-target
We are setting the value to TRUE initially, but
the property had a declared default of FALSE.
This is messing up the simplification of .ui files
with gtk4-builder-tool, since it thinks it can
omit can-target properties when it really can't.
Matthias Clasen [Sun, 1 Nov 2020 16:15:08 +0000 (11:15 -0500)]
Cosmetics
Matthias Clasen [Sun, 1 Nov 2020 15:50:53 +0000 (10:50 -0500)]
Remove leftover file
This was never used in tests.
Matthias Clasen [Sun, 1 Nov 2020 15:48:29 +0000 (10:48 -0500)]
testsuite: More gtk4-builder-tool tests
Matthias Clasen [Sun, 1 Nov 2020 15:33:53 +0000 (10:33 -0500)]
testsuite: Test gtk4-builder-tool simplify --replace
Run all gtk4-builder-tool test with and without --replace.
This improves test coverage for gtk4-builder-tool
Matthias Clasen [Sun, 1 Nov 2020 15:32:13 +0000 (10:32 -0500)]
builder-tool: Avoid a crash
Be more careful about types that have been removed.
I was getting criticals when converting ui files
containing GtkToolbars.
Matthias Clasen [Sun, 1 Nov 2020 00:51:23 +0000 (20:51 -0400)]
testsuite: Improve coverage for GdkTexture
Matthias Clasen [Sat, 31 Oct 2020 19:15:19 +0000 (15:15 -0400)]
testsuite: Improve coverage for GdkDisplayManager
Matthias Clasen [Sat, 31 Oct 2020 18:57:43 +0000 (14:57 -0400)]
testsuite: Improve coverage for seats
Matthias Clasen [Sat, 31 Oct 2020 18:57:28 +0000 (14:57 -0400)]
testsuite: Improve coverage for rectangles
Tim Sabsch [Sun, 1 Nov 2020 14:08:13 +0000 (14:08 +0000)]
Update German translation
Piotr Drąg [Sun, 1 Nov 2020 09:37:21 +0000 (10:37 +0100)]
Update Polish translation
Matthias Clasen [Sat, 31 Oct 2020 18:57:02 +0000 (14:57 -0400)]
testsuite: Improve coverage for keys
Matthias Clasen [Sat, 31 Oct 2020 05:03:14 +0000 (01:03 -0400)]
testsuite: Add more css parser tests
Add tests for url parsing.
Matthias Clasen [Sat, 31 Oct 2020 12:27:52 +0000 (08:27 -0400)]
testsuite: Add a forgotten test
I've written this test a while ago, but did not add
it to the test data list in meson.build.
Matthias Clasen [Sat, 31 Oct 2020 04:36:47 +0000 (00:36 -0400)]
testsuite: Add a css test
This test verifies that CDO and CDC are ignored
as required.
Matthias Clasen [Sat, 31 Oct 2020 04:37:39 +0000 (00:37 -0400)]
css: Fix tokenization of CDO
A CDO is 4 characters: <!--, not 3 as our tokenizer
was pretending.
Matthias Clasen [Sat, 31 Oct 2020 03:34:48 +0000 (23:34 -0400)]
gsk: Don't compile unused code
The NodeSample and GskGLImage code is not used,
so don't compile it.
Matthias Clasen [Sat, 31 Oct 2020 03:33:34 +0000 (23:33 -0400)]
testsuite: Improve coverage for GtkMultiSorter
Matthias Clasen [Sat, 31 Oct 2020 03:33:15 +0000 (23:33 -0400)]
testsuite: Improve coverage for GtkStringList
Matthias Clasen [Sat, 31 Oct 2020 03:32:30 +0000 (23:32 -0400)]
Remove an unused function
The only property of GtkStringObject is readonly since
commit
fb14f50ec1a8fe9b9024e, so we don't need a
set_property implementation.
Matthias Clasen [Sat, 31 Oct 2020 03:04:23 +0000 (23:04 -0400)]
testsuite: Improve coverage
Matthias Clasen [Sat, 31 Oct 2020 02:51:54 +0000 (22:51 -0400)]
Drop an unused private function
Matthias Clasen [Sat, 31 Oct 2020 02:50:38 +0000 (22:50 -0400)]
Drop unused includes
Matthias Clasen [Sat, 31 Oct 2020 01:34:23 +0000 (21:34 -0400)]
testsuite: Improve coverage for GtkExpression
Matthias Clasen [Sat, 31 Oct 2020 02:24:53 +0000 (22:24 -0400)]
expression: Fix property expressions for interfaces
We were not checking the passed-in type in the right
way. An interface type can still pass the
g_type_is_a (..., G_TYPE_OBJECT) check, if G_TYPE_OBJECT
is one of its prerequisites. What we need to check is
whether the fundamental type is G_TYPE_OBJECT.
Matthias Clasen [Sat, 31 Oct 2020 02:27:15 +0000 (22:27 -0400)]
testsuite: Improve coverage for GtkMultiFilter
Matthias Clasen [Sat, 31 Oct 2020 00:15:25 +0000 (20:15 -0400)]
testsuite: Improve coverage for GtkStringFilter
Matthias Clasen [Sat, 31 Oct 2020 00:14:17 +0000 (20:14 -0400)]
testsuite: Make all css tests run again
The tests in subdirectories of testsuite/css were
using an environment defined in the parent directory,
causing them to not find their test data. Give each
test directory its own environment.
Matthias Clasen [Fri, 30 Oct 2020 23:26:56 +0000 (19:26 -0400)]
tests: Improve coverage for css data url parsing
Cover the error conditions as well.
Matthias Clasen [Fri, 30 Oct 2020 22:17:50 +0000 (18:17 -0400)]
testsuite: Improve coverage for GtkBoolFilter
Matthias Clasen [Fri, 30 Oct 2020 21:19:52 +0000 (17:19 -0400)]
Drop unused gtk_buildable_set_buildable_property
Matthias Clasen [Fri, 30 Oct 2020 20:17:38 +0000 (16:17 -0400)]
Add a test for constraints in ui files
Test the various values that are possible for the constraint
attributes.
Matthias Clasen [Fri, 30 Oct 2020 19:48:57 +0000 (19:48 +0000)]
Merge branch 'wip/chergert/gdk-macos-gl-renderer' into 'master'
macos: add more aggressive clip to transparent subview
See merge request GNOME/gtk!2762
Matthias Clasen [Fri, 30 Oct 2020 19:26:37 +0000 (15:26 -0400)]
gtk-demo: Tweak descriptions of constraints demos
Make these a little longer, and include more details.
Matthias Clasen [Fri, 30 Oct 2020 18:59:08 +0000 (14:59 -0400)]
constraintlayout: Make sure guides get their constraints
When using GtkBuilder to create constraints and guides,
the layout manager is already rooted when the guides get
created, and we were forgetting to create the guides
constraints in this case. Fix it by adding a call to
gtk_constraint_guide_update().
This was showing up in the new builder-based constraints
demo as the guide not having the expected effect.
Matthias Clasen [Fri, 30 Oct 2020 18:57:58 +0000 (14:57 -0400)]
constraintlayout: Emit less change notification
This isn't strictly required for correctness, but
it makes the GtkBuilder codepath do the same that
the vfl codepath does: call gtk_layout_manager_layout_changed
only once, after all the constraints have been added.
Matthias Clasen [Fri, 30 Oct 2020 16:33:59 +0000 (12:33 -0400)]
gtk-demo: Tweak the new constraints demo
With these somewhat random ordering changes, things get
closer to working the same as the code example. Still,
the guide doesn't work right.
Matthias Clasen [Fri, 30 Oct 2020 04:23:45 +0000 (00:23 -0400)]
constraintlayout: Fix parsing from ui file
Guides were not properly looked up when creating
constraints in a ui file.
Matthias Clasen [Fri, 30 Oct 2020 04:22:47 +0000 (00:22 -0400)]
Add another constraints demo
This one attempts to use constraints in a ui file.
It doesn't work.
Matthias Clasen [Fri, 30 Oct 2020 18:56:07 +0000 (14:56 -0400)]
gtk-demo: Remove unnecessary code
I was distracted by this code that sets names
on widgets in the constraints demo - the names
aren't used and aren't needed, so remove them.
Christian Hergert [Fri, 30 Oct 2020 02:37:27 +0000 (19:37 -0700)]
macos: add more aggressive clip to transparent subview
The Cairo implementation for the Macos backend uses a toplevel
window with full transparency and a series of NSView to create opaque
regions. This improves compositor performance because it allows the
display server to avoid costly blends.
However, we want to ensure we clip better when exposing the
transparent region so that we only expose the shadows/corners as
necessary.
Matthias Clasen [Fri, 30 Oct 2020 01:36:10 +0000 (01:36 +0000)]
Merge branch 'wip/chergert/remove-GDK_WINDOWING_QUARTZ' into 'master'
gdk: remove remaining GDK_WINDOWING_QUARTZ usage
See merge request GNOME/gtk!2761
Matthias Clasen [Thu, 29 Oct 2020 18:58:12 +0000 (14:58 -0400)]
docs: Add details for gsk_renderer_new_for_surface
Mention the GSK_RENDERER variable here.
Matthias Clasen [Thu, 29 Oct 2020 22:21:32 +0000 (18:21 -0400)]
NEWS: Updates
Christian Hergert [Thu, 29 Oct 2020 20:57:28 +0000 (13:57 -0700)]
gdk: remove remaining GDK_WINDOWING_QUARTZ usage
Matthias Clasen [Thu, 29 Oct 2020 18:55:53 +0000 (18:55 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2760
Matthias Clasen [Thu, 29 Oct 2020 18:33:13 +0000 (18:33 +0000)]
Merge branch 'wip/chergert/gdk-macos-gl-renderer' into 'master'
macos: implement GL rendering on with Cairo renderer
See merge request GNOME/gtk!2759
Matthias Clasen [Thu, 29 Oct 2020 18:19:12 +0000 (14:19 -0400)]
docs: Some restructuring
Give the GDK docs some more structure.
Matthias Clasen [Thu, 29 Oct 2020 18:00:24 +0000 (14:00 -0400)]
docs: Tweak GdkToplevel docs
Matthias Clasen [Thu, 29 Oct 2020 18:00:13 +0000 (14:00 -0400)]
docs: Tweak GdkPopup docs
Matthias Clasen [Thu, 29 Oct 2020 17:57:22 +0000 (13:57 -0400)]
docs: Tweak GdkSurface docs
Add more details, and refer to the GdkToplevel / GdkPopup
docs.
Matthias Clasen [Thu, 29 Oct 2020 17:57:00 +0000 (13:57 -0400)]
docs: Tweak frame clock docs
Matthias Clasen [Thu, 29 Oct 2020 17:41:10 +0000 (13:41 -0400)]
docs: Small additions for GdkCursor docs
Matthias Clasen [Thu, 29 Oct 2020 17:36:26 +0000 (13:36 -0400)]
docs: Cosmetics
Make the GdkRGBA heading less repetitive.
Matthias Clasen [Thu, 29 Oct 2020 17:28:03 +0000 (13:28 -0400)]
docs: Tweak GdkPaintable docs
Minor additions here and there.
Matthias Clasen [Thu, 29 Oct 2020 17:16:49 +0000 (13:16 -0400)]
docs: Add some detail to GdkTexture docs
Minor additions here and there.
Matthias Clasen [Thu, 29 Oct 2020 17:06:08 +0000 (13:06 -0400)]
gdk: Drop GdkPoint from the api
This typedef was not used in any public APIs, and is
only used in the MacOS backend. It is not worth preserving
as public API, move it to the only user.
Matthias Clasen [Thu, 29 Oct 2020 16:35:28 +0000 (12:35 -0400)]
docs: Include GDK_WINDOWING_MACOS
We no longer have a Quartz backend, it is called
MacOS now.
Matthias Clasen [Thu, 29 Oct 2020 11:40:48 +0000 (07:40 -0400)]
docs: Stop referring to the Quartz backend
Its MacOS now.
Christian Hergert [Thu, 29 Oct 2020 17:33:22 +0000 (10:33 -0700)]
macos: implement GL context
This implements the basics for a GdkGLContext on macOS. Currently, rendering
only is fully working for the GskCairoRenderer case where we read back pixels
into a cairo surface for rendering. More work on synchronization is required for
the GL on GskGLRenderer case.
When we attempt to render a surface itself with GL, the context will ensure that
the new GdkMacosGLView is placed within the NSWindow. In other cases, we
use a dummy NSView and NSWindow for backing the NSOpenGLContext to
ensure that we can get accelerated drawing.
This gets GtkGLArea working when running with GSK_RENDERER=cairo.
Christian Hergert [Thu, 29 Oct 2020 17:30:41 +0000 (10:30 -0700)]
macos: tweak gravity while resizing
This helps a situation where the window contents has not changed
in time for a drawing. Setting the texture gravity helps that side or
corner to be less jittery while moving.
Ideally, we can get to a point where we are synchronized and keeping
up with drawing fast enough to not need this. That may require some
work to drive frame clocks from drawRect: though.
Christian Hergert [Thu, 29 Oct 2020 16:46:02 +0000 (09:46 -0700)]
macos: be tolerant of NULL GL context
Some code appears to unconditionally attempt to make the context current,
so this makes things tolerant to a NULL GdkGLContext and just return FALSE.
Christian Hergert [Thu, 29 Oct 2020 16:37:33 +0000 (09:37 -0700)]
glsl: tweak pre-processor to support Apple GLSL compiler
The Apple GLSL compiler cannot deal with empty pre-processor blocks such as
#if GSK_GLES
#elif GSK_LEGACY